package cn.iocoder.yudao.module.fengdong.smartelderly.controller.admin.reserved.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 预约管理 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class ReservedBaseVO {

    @Schema(description = "老人身份证")
    private String oldmanIdentityCard;

    @Schema(description = "手机号")
    private String phone;

    @Schema(description = "身份证")
    private String identityCard;

    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime startTime;

    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime endTime;

    @Schema(description = "时长")
    private Integer duration;

    @Schema(description = "来访/请假事由")
    private String details;

    @Schema(description = "其他信息")
    private String others;

    @Schema(description = "预约类型 ", example = "1")
    private Integer type;

    @Schema(description = "房间号 ", example = "1")
    private Integer roomId;

    @Schema(description = "探视区域 ", example = "1")
    private Integer floorRoom;

    @Schema(description = "老人id ", example = "1")
    private Integer oldmanId;

    @Schema(description = "预约人姓名或称呼", example = "赵六")
    private String name;

    @Schema(description = "探视老人姓名", example = "王五")
    private String oldmanName;

    @Schema(description = "审核状态 ")
    private Integer schedule;

}
